iT邦幫忙

2022 iThome 鐵人賽

DAY 7
0
Modern Web

前端開發維護筆記 - 打造健康的前端專案系列 第 7

GitHub Actions Workflow 設定基礎技巧

  • 分享至 

  • xImage
  •  

觸發工作流程的關鍵 on

如果希望能透過 Workflow 來幫我們處理事情,那最開始要定義的屬性就是 on 了,畢竟腳本是否執行完全就看這個

這邊是一個觸發工作流程的範例:

on:
  repository_dispatch:
    types: [e2e_test]
  pull_request:
  workflow_dispatch:
  schedule:
    - cron: '0 16 * * *'  # every day at midnight at UTC+8

依照這個範例的設定,這個 Workflow 將有四種觸發時機:

  1. repository_dispatch 可以讓 GitHub 接受到 e2e_test 這個 event 事件的 Webhook(事件是可以自行定義的)後觸發流程,這邊的用例是讓後端可以透過 Webhook 來發動各專案進行的 E2E 測試,通常是 API 改動後進行。
  2. pull_request PR 被建立的時候開始運行 Workflow,如果有需要還可以設定更細節的觸發時機,但通常不需要,而 PR 的分支有更新時,也會再次觸發。
  3. workflow_dispatch 提供了可以讓我們在 GitHub Actions 的頁面上手動觸發工作流程,可以
  4. schedule 則是排程進行動作,這邊的範例是每天台灣時間半夜 12 點觸發(因為是 UTC 時間)

能夠使用的事件還非常多,但這幾個是我認為使用機率比較高的,如果有想知道更細節的資訊,我都有附上官方文件的連結,可以進去查閱。

Expressions 表達式的語法 ${{ }}

expressions 表達式可以讓你更有彈性的設定你的 Workflow 腳本,因為 GitHub Actions 在執行的時候,會在環境中注入一些環境變數可以使用,像是 secretsgithub 這兩個就是很常用的變數。

jobs:
  job-id:
    steps:
      - name: Check github object
        run: |
          cat << OBJECT
          ${{ toJson(github) }}
          OBJECT
        continue-on-error: true

上一篇
好用的 CI 工具 - GitHub Actions 快速入門
下一篇
GraphQL - 彈性十足的 API 架構
系列文
前端開發維護筆記 - 打造健康的前端專案27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言